두 개의 다른 테이블에 입력 양식을 삽입하고 있습니다. 첫 번째 테이블은 정보 용이고 다른 테이블은 정보 이미지 용입니다. 정보를 제출할 때 첫 번째 테이블의 행당 여러 이미지를 별도의 테이블에 업로드하고 각 이미지에 last_insert_id를 두 번째 테이블에 삽입하고 싶습니다. 1 번 테이블 위치 ID | 주소 | 연락 정보 표 2 pictureID | 위치 ID | 파일 경로 다음 코드에서는 하나의 이미지 만 삽입하지만 모든 이미지를 폴더에 업로드합니다. php include_once 'dbconnect.php'; mysql_query ( "UTF8 이름 설정"); session_start (); $ tbl_name = "위치"; $ tbl_image = "이미지"; if (isset ($ _ POST [ 'btn-upload'])) { $ name2 = $ _ POST [ 'name2']; $ phone = $ _ POST [ '전화']; $ email = $ _ POST [ '이메일']; $ type = $ _ POST [ '유형']; $ other = $ _ POST [ '기타']; $ description = $ _ POST [ '설명']; $ address = $ _ POST [ '주소']; $ name = $ _ POST [ '이름']; $ lat = $ _ POST [ 'lat']; $ lng = $ _ POST [ 'lng']; $ country = $ _ POST [ '국가']; $ administrative_area_level_1 = $ _ POST [ 'administrative_area_level_1']; $ place_id = $ _ POST [ 'place_id']; $ url = $ _ POST [ 'url']; $ website = $ _ POST [ 'website']; $ sql = "INSERT INTO $ tbl_name (name2, phone, email, type, other, description, address, name, lat, lng, country, Administrative_area_level_1, place_id, url, website) VALUES ( '$ name2', '$ phone' , '$ email', '$ type', '$ other', '$ description', '$ address', '$ name', '$ lat', '$ lng', '$ country', '$ administrative_area_level_1' , '$ place_id', '$ url', '$ website') "; $ result = mysql_query ($ sql); for ($ i = 0; $ i<스크립트> alert ( '성공적으로 업로드 됨'); window.location.href = 'index.php? success'; script> php } 그밖에 { ?> <스크립트> alert ( '파일 업로드 중 오류'); window.location.href = 'index.php? fail'; script> php } } if ($ result) { echo "성공"; echo "
"; echo " 기본 페이지로 돌아 가기 "; } else { echo "오류"; } if ($ result1) { echo "업로드 성공"; echo "
"; echo " 기본 페이지로 돌아 가기 "; } else { echo "오류"; } } ?> php // 연결 종료 mysql_close (); ?>
2020-12-07 22:38:58
$ b = $ pdo-> prepare ( "INSERT INTO`table1` SET`address` = : address,`contact` = : contact"); $ b-> bindParam ( ": 주소", $ address); $ b-> bindParam ( ": contact", $ contact); $ b-> execute (); $ LastId = $ pdo-> lastInsertId (); if ($ LastId> 0) { $ b = $ pdo-> prepare ( "INSERT INTO`table2` SET`pictureID` = : pictureID,`filepath` = : filepath"); $ b-> bindParam ( ": pictureID", $ LastId); $ b-> bindParam ( ": 파일 경로", $ filepath); $ b-> execute (); } | 마침내 그것을 알아 냈습니다. 문제가있는 것은 last_insert_ID였습니다. Last_instert_ID는 For 루프 외부에 명시되어야합니다. $ locationID = mysql_insert_id ($ conn); 위는 첫 번째 삽입 쿼리 바로 아래에 추가됩니다. $ sql = "INSERT INTO $ tbl_location (name2, phone, email, type, other, description, address, name, lat, lng, country, managed_area_level_1, place_id, url, website) VALUES ( '$ name2', '$ phone', '$ email', '$ type', '$ other', '$ description', '$ address', '$ name', '$ lat', '$ lng ','$ country ','$ administrative_area_level_1 ','$ place_id ','$ url ','$ website ') "; $ result = mysql_query ($ sql); $ locationID = mysql_insert_id ($ conn); for ($ i = 0; $ i<스크립트> alert ( '성공적으로 업로드 됨'); window.location.href = 'index.php? success'; script> php } 그밖에 { ?> <스크립트> alert ( '파일 업로드 중 오류'); window.location.href = 'index.php? fail'; script> php } } | // 데이터베이스에 여러 이미지를 업로드하지만 루프가있는 마지막 삽입 ID가있는 업로드 테이블이있는 폴더에 이미지를 저장하는 방법 // 표 1-표 1 아이디 | field1 | field2 table2-업로드 pictureID | 아이디 | 이미지 업로드 php include ( "config.php"); if (isset ($ _ POST [ '제출'])) { $ field1 = $ _ POST [ 'field1']; $ field2 = $ _ POST [ 'field2']; $ sql = mysql_query ( "INSERT INTO table1 (field1, field2) VALUES ( 'field1', 'field2')"); // 레코드 테이블 1 삽입 if ($ sql) { $ last = mysql_insert_id (); } if (isset ($ _ FILES [ 'uploadimage'] [ 'name'])) // 여기에 사용 된 것과 동일한 이미지 파일 이름과 테이블 열 이름을 업로드합니다. { $ file_name_all = ""; for ($ i = 0; $ i